package Greed;


import java.util.Arrays;

//优势洗牌
//思路：废物利用最大化
//如果n1>n2,那么不用调换位置，
//n1<n2 n1调换到最后一个
public class AdvantageShuffle {
    public int[] advantageCount(int[] nums1, int[] nums2) {
        Arrays.sort(nums1);
        int n=nums1.length;
        Integer[] index=new Integer[n];
        for (int i = 0; i < n; i++) {
            index[i]=i;
        }
        Arrays.sort(index,(i,j)->{
             return nums2[i]-nums2[j];
        });
        int[] ret=new int[n];
        int left=0;
        int right=n-1;
        for (int i = 0; i < n; i++) {
            if(nums1[i]>nums2[index[left]]){
                ret[index[left++]]=nums1[i];
            }else{
                ret[index[right--]]=nums1[i];
            }
        }
        return ret;
    }
}
